package futbol.tacticas.concursantes.laponiafc;

import java.awt.geom.Point2D;
import java.util.HashMap;
import java.util.Map;

class Valoracion {

	public String razon;
	public double peso;

	public Valoracion(String razon, double peso) {
		this.razon = razon;
		this.peso = peso;
	}
}

/**
 * 
 * @author Galderic Punti
 * 
 * @date 06-06-2008
 * 
 */
public class Heuristico implements Cloneable {

	// private List<Valoracion> valoraciones = new ArrayList<Valoracion>();
	private double valor;
	private double confianza;

	public Map<Jugador, Point2D.Double> intercepciones = new HashMap<Jugador, Point2D.Double>();

	public final void clear() {
		// valoraciones.clear();
		valor = 0;
		intercepciones.clear();
		confianza = 0;
	}

	public final void addMessage(String s, double w) {
		// valoraciones.add(new Valoracion(s,w));
		valor += w;
	}

	protected final double getValor() {
		return valor;
	}

	public final Heuristico clone() {

		Heuristico result = null;

		try {
			result = (Heuristico) super.clone();
			// result.valoraciones = new ArrayList<Valoracion>();
			result.intercepciones = new HashMap<Jugador, Point2D.Double>();

			// result.valoraciones.addAll(valoraciones);
			result.intercepciones.putAll(intercepciones);
		} catch (CloneNotSupportedException e) {
			e.printStackTrace();
		}

		return result;
	}

	// public Iterable<Valoracion> getValoraciones() {
	// return valoraciones;
	// }

	public final double getConfianza() {
		return confianza;
	}

	public final void setConfianza(double confianza) {
		this.confianza = confianza;
	}
}
